#pragma once

#include "qlib/all.h"
#include "../../utils/render_ref.h"
#include "../../utils/render_line.h"

#include <QLineF>

namespace qbe::centerline {

class CenterLine;

struct CenterLineModel {
  bool is_init = false;

  // 预览线
  // qlib::Path::s_ptr m_line;

  // bool is_start = false;
  // int line_1_use_point_index, line_2_use_point_index;  //针对没有相交的线段，离交点最远的点的索引，作为剪切折线的收尾点
  // int line_1_no_use_point_index, line_2_no_use_point_index;  //距离交点更近点的索引，作为延伸线的起点

  // qlib::Vec2d first_click_point, second_click_point;

  // std::vector<std::shared_ptr<qlib::Path>> extend_lines;  //生成的延伸线
  // std::vector<std::shared_ptr<Arc>> arcs;                 //生成的圆弧
  // std::vector<bool> arc_dir;                              //生成圆弧的方向

  // std::vector<qlib::Vec2d> segment;

  // std::shared_ptr<utils::TempRender::RenderLine> render_line;

  // std::shared_ptr<utils::TempRender::RenderLine> render_select_line;

  // std::vector<entt::entity> select;

  // QString trimString() {
  //   if (is_trim)
  //     return "修剪";
  //   else
  //     return "不修剪";
  // }
};

}  // namespace qbe::centerline
